home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / Visual Cafe Pro v1.0 / VISCAFE.BIN / TransparencyTrickUtils.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-06-19  |  1.6 KB  |  51 lines

  1. package symantec.itools.awt;
  2.  
  3. import java.awt.Component;
  4. import java.awt.Container;
  5. import java.awt.Graphics;
  6. import java.awt.Image;
  7. import java.awt.Rectangle;
  8. import java.awt.image.ImageObserver;
  9. import symantec.itools.lang.OS;
  10.  
  11. public class TransparencyTrickUtils {
  12.    public static void paintComponentsBehind(Component var0, Graphics var1) {
  13.       Rectangle var2 = var0.bounds();
  14.       Container var3 = var0.getParent();
  15.       paintComponent(var0, var3, var2, var1);
  16.       Component[] var4 = var3.getComponents();
  17.  
  18.       for(int var5 = 0; var5 < var4.length; ++var5) {
  19.          Component var6 = var4[var5];
  20.          if (var6 != var0) {
  21.             paintComponent(var0, var6, var2, var1);
  22.          }
  23.       }
  24.  
  25.    }
  26.  
  27.    public static void paintComponent(Component var0, Component var1, Rectangle var2, Graphics var3) {
  28.       if (!(var1 instanceof TransparencyTrick)) {
  29.          Rectangle var4 = var1.bounds();
  30.          if (var4.intersects(var2)) {
  31.             Image var5 = var0.createImage(var4.width, var4.height);
  32.             if (var5 != null) {
  33.                Graphics var6 = var5.getGraphics();
  34.                if (var6 != null) {
  35.                   var1.update(var6);
  36.                   var3.drawImage(var5, var4.x - var2.x, var4.y - var2.y, (ImageObserver)null);
  37.                   var6.dispose();
  38.                }
  39.  
  40.                var5.flush();
  41.                if (OS.isMacintosh()) {
  42.                   System.gc();
  43.                   System.runFinalization();
  44.                }
  45.             }
  46.          }
  47.  
  48.       }
  49.    }
  50. }
  51.